opsmgr 0.28.0 → 0.29.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +110 -6
- data/lib/opsmgr/version.rb +1 -1
- data/sample_env_files/aws.yml +88 -0
- data/sample_env_files/vsphere.yml +77 -0
- metadata +32 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8574e2a3fed7a5a771008184e596c1007630fd03
|
4
|
+
data.tar.gz: 8767064ce8eedb773f7f65d2c8229620877a323d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7c3ffc511480965bf8315c32c40e95b9b7677bb60cda4b521c86ff55a7d1fd88ae783932881ea1fd132799bbfb525a5d4688cfeed749add56d9d304f770fe08a
|
7
|
+
data.tar.gz: 2af56c0c0d7e72fd53f311e9f9a9d47be179dad77cb49d2471c8865328b1b8d18669e41c60483b0912f624df29e73627aaefd8dc5ef9994504554759e6630edc
|
data/README.md
CHANGED
@@ -2,20 +2,124 @@
|
|
2
2
|
|
3
3
|
A ruby client for opsmanager and related tools. Extracted from RelEng's [release-engineeering-automation](https://github.com/pivotal-cf/release-engineering-automation/).
|
4
4
|
|
5
|
-
##
|
5
|
+
## Prerequisites
|
6
|
+
|
7
|
+
### Ruby
|
8
|
+
Install ruby on your machine. Two popular ways to install ruby and manage your ruby installations are:
|
9
|
+
|
10
|
+
- ruby-install (https://github.com/postmodern/ruby-install) / chruby (https://github.com/postmodern/chruby)
|
11
|
+
- rbenv (https://github.com/rbenv/rbenv)
|
12
|
+
|
13
|
+
The rest of these instructions assume you have already installed the correct ruby version and are familiar with its use.
|
14
|
+
|
15
|
+
## Setup
|
16
|
+
|
17
|
+
### Command-Line
|
18
|
+
Run:
|
19
|
+
```shell
|
20
|
+
gem install opsmgr
|
21
|
+
```
|
6
22
|
|
7
|
-
|
23
|
+
This will install the opsmgr Gem and all dependencies.
|
8
24
|
|
25
|
+
### Within Ruby Code
|
26
|
+
To install, add this line to your Gemfile and run bundle install:
|
9
27
|
```ruby
|
10
|
-
gem 'opsmgr'
|
28
|
+
gem 'opsmgr'
|
11
29
|
```
|
12
30
|
|
13
|
-
|
31
|
+
## Usage
|
32
|
+
|
33
|
+
### From the Command-Line
|
34
|
+
To see a list of all available rake tasks:
|
14
35
|
|
36
|
+
1. Create a Rakefile:
|
15
37
|
```ruby
|
16
38
|
require 'opsmgr/tasks'
|
17
39
|
```
|
18
40
|
|
19
|
-
|
41
|
+
1. Run:
|
42
|
+
```shell
|
43
|
+
rake -T
|
44
|
+
```
|
45
|
+
|
46
|
+
### Within Ruby Code
|
47
|
+
Require the appropriate part of the opsmgr library. See below for the required files for each task.
|
48
|
+
|
49
|
+
## Environment Configuration File
|
50
|
+
The expected location of the environment configuration file is `../environment/metadata`. If you need to specify an alternative location, you can use either the `ENV_CONFIG_FILE` or `ENV_DIRECTORY` environment variables. If you use the `ENV_DIRECTORY` environment variable to point to a directory of configuration files, the files inside that directory must be named according to the name of the environment, with the extension `.yml`.
|
51
|
+
|
52
|
+
### Example
|
53
|
+
- [AWS](sample_env_files/aws.yml)
|
54
|
+
- [vSphere](sample_env_files/vsphere.yml)
|
55
|
+
|
56
|
+
## Basic Deployment of Ops Manager with Rake Tasks
|
57
|
+
|
58
|
+
### Clean existing environment
|
59
|
+
If you want to start fresh, you can clear out your environment completely:
|
60
|
+
|
61
|
+
**WARNING: this destroys all VMs in the environment, including but not limited to Ops Manager, µBOSH and Runtime**
|
62
|
+
|
63
|
+
Note: If you used the old version of opsmgr tasks to create this environment, then you need to use that version to clean it. The new version does not correctly clean out deployments from the old version.
|
64
|
+
|
65
|
+
```
|
66
|
+
bundle exec rake opsmgr:destroy[environment]
|
67
|
+
```
|
68
|
+
|
69
|
+
### Download an Ops Manager Image
|
70
|
+
Obtain the Ops Manager Image you need from [Pivotal Network](https://network.pivotal.io). If you need a newer version than is available there, consult the Ops Manager team.
|
71
|
+
|
72
|
+
### Prepare The Environment (AWS-only)
|
73
|
+
This will spin up a cloudformation stack; because it provisions an RDS instance, it can take around half an hour.
|
74
|
+
|
75
|
+
```
|
76
|
+
bundle exec rake opsmgr:prepare[environment]
|
77
|
+
```
|
78
|
+
|
79
|
+
### Deploy the Ops Manager
|
80
|
+
You need to specify the path to the Ops Manager image you want to use/have just downloaded.
|
81
|
+
|
82
|
+
```
|
83
|
+
bundle exec rake opsmgr:install[environment,path_to_ops_manager_image]
|
84
|
+
```
|
85
|
+
|
86
|
+
### Configure and Deploy Microbosh
|
87
|
+
You need to specify the major and minor version of Ops Manager in these commands.
|
88
|
+
|
89
|
+
`<OM version>` is the Ops Manager version. Opsmgr supports Ops Manager `1.4`, `1.5`, and `1.6`.
|
90
|
+
|
91
|
+
`<wait time>` is number of minutes to wait for install, recommended wait time is `45`
|
92
|
+
|
93
|
+
```
|
94
|
+
bundle exec rake opsmgr:add_first_user[environment,<OM version>]
|
95
|
+
bundle exec rake opsmgr:microbosh:configure[environment,<OM version>]
|
96
|
+
bundle exec rake opsmgr:trigger_install[environment,<OM version>,<wait time>]
|
97
|
+
```
|
98
|
+
|
99
|
+
## Advanced Tasks
|
100
|
+
|
101
|
+
### Export the installation from Ops Manager
|
102
|
+
`<OM version>` is the Ops Manager version. Opsmgr supports Ops Manager `1.4`, `1.5`, and `1.6`.
|
103
|
+
|
104
|
+
`<file name>` local file name to save the exported installation file
|
20
105
|
|
21
|
-
|
106
|
+
```
|
107
|
+
bundle exec rake opsmgr:export_installation[environment,<OM version>,<file name>]
|
108
|
+
```
|
109
|
+
|
110
|
+
### Import an installation to Ops Manager
|
111
|
+
`<OM version>` is the Ops Manager version. Opsmgr supports Ops Manager `1.4`, `1.5`, and `1.6`.
|
112
|
+
|
113
|
+
`<file name>` local file name of the installation file to import
|
114
|
+
|
115
|
+
```
|
116
|
+
bundle exec rake opsmgr:import_installation[environment,<OM version>,<file name>]
|
117
|
+
```
|
118
|
+
|
119
|
+
### Destroy only the Ops Manager VM
|
120
|
+
|
121
|
+
Commonly done when testing export/import scenarios
|
122
|
+
|
123
|
+
```
|
124
|
+
bundle exec rake opsmgr:destroy:opsmgr[environment]
|
125
|
+
```
|
data/lib/opsmgr/version.rb
CHANGED
@@ -0,0 +1,88 @@
|
|
1
|
+
name: ugli
|
2
|
+
iaas_type: aws
|
3
|
+
vm_shepherd:
|
4
|
+
env_config:
|
5
|
+
stack_name: ugli
|
6
|
+
aws_access_key: _ACCESS_KEY_
|
7
|
+
aws_secret_key: _SECRET_KEY_
|
8
|
+
region: us-west-1
|
9
|
+
json_file: config/ert_cloudformation.json
|
10
|
+
parameters:
|
11
|
+
01NATKeyPair: _AWS_SSH_KEY_NAME_
|
12
|
+
05RdsUsername: pivotalcf
|
13
|
+
06RdsPassword: pivotalcf
|
14
|
+
07SSLCertificateARN: arn:aws:iam::_CERT_ID_:server-certificate/ugli
|
15
|
+
outputs:
|
16
|
+
ssh_key_name: {{ssh_key_pair_name}}
|
17
|
+
security_group: {{ops_manager_security_group_id}}
|
18
|
+
public_subnet_id: {{public_subnet_id}}
|
19
|
+
private_subnet_id: {{private_subnet_id}}
|
20
|
+
s3_bucket_names:
|
21
|
+
- {{ ops_manager_s3_bucket_name }}
|
22
|
+
- {{ ert_s3_buildpacks_bucket_name }}
|
23
|
+
- {{ ert_s3_droplets_bucket_name }}
|
24
|
+
- {{ ert_s3_packages_bucket_name }}
|
25
|
+
- {{ ert_s3_resources_bucket_name }}
|
26
|
+
vm_configs:
|
27
|
+
- vm_name: Ugli OpsManager
|
28
|
+
vm_ip_address: _OM_IP_ADDRESS_
|
29
|
+
|
30
|
+
ops_manager:
|
31
|
+
url: https://pcf.ugli.cf-app.com/
|
32
|
+
username: _OM_USERNAME_
|
33
|
+
password: _OM_PASSWORD_
|
34
|
+
ntp_servers: 0.amazon.pool.ntp.org
|
35
|
+
availability_zones:
|
36
|
+
- iaas_identifier: us-west-1b
|
37
|
+
|
38
|
+
aws:
|
39
|
+
aws_access_key: {{iam_aws_access_key_id}}
|
40
|
+
aws_secret_key: {{iam_aws_secret_access_key}}
|
41
|
+
vpc_id: {{vpc}}
|
42
|
+
security_group: {{vms_security_group_name}}
|
43
|
+
key_pair_name: {{ssh_key_pair_name}}
|
44
|
+
region: {{region}}
|
45
|
+
ssh_key: _KEY_
|
46
|
+
|
47
|
+
networks:
|
48
|
+
- name: first-network
|
49
|
+
identifier: {{ private_subnet_id }}
|
50
|
+
subnet: 10.0.16.0/20
|
51
|
+
reserved_ips: 10.0.16.2-10.0.16.4
|
52
|
+
dns: 10.0.0.2
|
53
|
+
gateway: 10.0.16.1
|
54
|
+
|
55
|
+
elastic_runtime:
|
56
|
+
name: cf
|
57
|
+
system_domain: ugli.cf-app.com
|
58
|
+
apps_domain: ugli.cf-app.com
|
59
|
+
elb_name: ugli-pcf-elb
|
60
|
+
elb_dns_name: {{ ert_elb_dns_name }}
|
61
|
+
ssh_elb_name: ugli-pcf-ssh-elb
|
62
|
+
ssh_elb_dns_name: {{ ert_ssh_elb_dns_name }}
|
63
|
+
file_storage:
|
64
|
+
endpoint: https://s3-us-west-1.amazonaws.com
|
65
|
+
bucket: {{ ert_s3_buildpacks_bucket_name }}
|
66
|
+
buildpacks_bucket: {{ ert_s3_buildpacks_bucket_name }}
|
67
|
+
droplets_bucket: {{ ert_s3_droplets_bucket_name }}
|
68
|
+
packages_bucket: {{ ert_s3_packages_bucket_name }}
|
69
|
+
resources_bucket: {{ ert_s3_resources_bucket_name }}
|
70
|
+
access_key: {{iam_aws_access_key_id}}
|
71
|
+
secret_key: {{iam_aws_secret_access_key}}
|
72
|
+
rds:
|
73
|
+
host: {{rds_address}}
|
74
|
+
port: {{rds_port}}
|
75
|
+
username: {{rds_username}}
|
76
|
+
password: {{rds_password}}
|
77
|
+
smtp:
|
78
|
+
from: identitystaging@mailinator.com
|
79
|
+
address: smtp.sendgrid.net
|
80
|
+
port: 587
|
81
|
+
credentials:
|
82
|
+
identity: _USERNAME_
|
83
|
+
password: _PASSWORD_
|
84
|
+
enable_starttls_auto: true
|
85
|
+
smtp_auth_mechanism: plain
|
86
|
+
trust_self_signed_certificates: true
|
87
|
+
ssl_certificate: _CERT_
|
88
|
+
ssl_private_key: _KEY_
|
@@ -0,0 +1,77 @@
|
|
1
|
+
---
|
2
|
+
name: deer
|
3
|
+
iaas_type: vsphere
|
4
|
+
vm_shepherd:
|
5
|
+
vm_configs:
|
6
|
+
- vcenter_creds:
|
7
|
+
ip: 10.84.32.61
|
8
|
+
username: _VCENTER_USER_
|
9
|
+
password: _VCENTER_PASS_
|
10
|
+
vsphere:
|
11
|
+
host: vcenter
|
12
|
+
resource_pool: deer
|
13
|
+
datacenter: private
|
14
|
+
cluster: private
|
15
|
+
datastore: private
|
16
|
+
network: deer
|
17
|
+
folder: deer
|
18
|
+
cleanup:
|
19
|
+
datacenter: private
|
20
|
+
datastores:
|
21
|
+
- private
|
22
|
+
datacenter_folders_to_clean:
|
23
|
+
- deer
|
24
|
+
- deer_vms
|
25
|
+
- deer_templates
|
26
|
+
datastore_folders_to_clean:
|
27
|
+
- deer
|
28
|
+
- deer_disk
|
29
|
+
vm:
|
30
|
+
ip: 10.85.15.16
|
31
|
+
gateway: 10.85.15.1
|
32
|
+
netmask: 255.255.255.0
|
33
|
+
dns: 10.87.8.10,10.87.8.11
|
34
|
+
ntp_servers: time1.sf.cf-app.com
|
35
|
+
vm_password: _PASS_
|
36
|
+
ops_manager:
|
37
|
+
url: https://pcf.deer.wild.cf-app.com
|
38
|
+
username: _OM_USER_
|
39
|
+
password: _OM_PASS_
|
40
|
+
ntp_servers: time1.sf.cf-app.com
|
41
|
+
vcenter:
|
42
|
+
creds:
|
43
|
+
ip: 10.84.32.61
|
44
|
+
username: _VCENTER_USER_
|
45
|
+
password: _VCENTER_PASS_
|
46
|
+
datacenter: private
|
47
|
+
persistent_datastore: private
|
48
|
+
ephemeral_datastore: private
|
49
|
+
bosh_vm_folder: deer_vms
|
50
|
+
bosh_template_folder: deer_templates
|
51
|
+
bosh_disk_path: deer_disk
|
52
|
+
availability_zones:
|
53
|
+
- name: first-az
|
54
|
+
cluster: private
|
55
|
+
resource_pool: deer
|
56
|
+
networks:
|
57
|
+
- name: first-network
|
58
|
+
identifier: deer
|
59
|
+
subnet: 10.85.15.0/24
|
60
|
+
gateway: 10.85.15.1
|
61
|
+
reserved_ips: 10.85.15.0-10.85.15.90
|
62
|
+
dns: 10.87.8.10,10.87.8.11
|
63
|
+
elastic_runtime:
|
64
|
+
name: cf
|
65
|
+
ha_proxy_static_ips: 10.85.15.254
|
66
|
+
system_domain: sys.deer.wild.cf-app.com
|
67
|
+
apps_domain: apps.deer.wild.cf-app.com
|
68
|
+
smtp:
|
69
|
+
from: identitystaging@mailinator.com
|
70
|
+
address: smtp.sendgrid.net
|
71
|
+
port: 587
|
72
|
+
credentials:
|
73
|
+
identity: _USER_
|
74
|
+
password: _PASS_
|
75
|
+
enable_starttls_auto: true
|
76
|
+
smtp_auth_mechanism: plain
|
77
|
+
trust_self_signed_certificates: true
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: opsmgr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.29.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Release Engineering
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-01-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -164,6 +164,34 @@ dependencies:
|
|
164
164
|
- - ">="
|
165
165
|
- !ruby/object:Gem::Version
|
166
166
|
version: '0'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: capybara
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - ">="
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0'
|
174
|
+
type: :runtime
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - ">="
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '0'
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: capybara-webkit
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - ">="
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: '0'
|
188
|
+
type: :runtime
|
189
|
+
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - ">="
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: '0'
|
167
195
|
- !ruby/object:Gem::Dependency
|
168
196
|
name: bundler
|
169
197
|
requirement: !ruby/object:Gem::Requirement
|
@@ -334,6 +362,8 @@ files:
|
|
334
362
|
- lib/opsmgr/ui_helpers/upload_and_add_product_spec.rb
|
335
363
|
- lib/opsmgr/ui_helpers/upload_and_upgrade_product_spec.rb
|
336
364
|
- lib/opsmgr/version.rb
|
365
|
+
- sample_env_files/aws.yml
|
366
|
+
- sample_env_files/vsphere.yml
|
337
367
|
homepage:
|
338
368
|
licenses:
|
339
369
|
- No License
|