Browse Source

Merge "Support maas mobility"

Zuul 6 months ago
parent
commit
8695f97b83
19 changed files with 110 additions and 69 deletions
  1. 0
    9
      deployment_files/global/v1.0demo/software/charts/kubernetes/dns/coredns.yaml
  2. 3
    1
      deployment_files/global/v1.0demo/software/charts/kubernetes/ingress/ingress.yaml
  3. 2
    0
      deployment_files/global/v1.0demo/software/charts/ucp/core/ingress.yaml
  4. 8
    19
      deployment_files/global/v1.0demo/software/charts/ucp/drydock/drydock.yaml
  5. 9
    3
      deployment_files/global/v1.0demo/software/charts/ucp/drydock/maas.yaml
  6. 1
    1
      deployment_files/global/v1.0demo/software/charts/ucp/services-chart-group.yaml
  7. 7
    5
      deployment_files/global/v1.0demo/software/config/endpoints.yaml
  8. 7
    12
      deployment_files/global/v1.0demo/software/config/versions.yaml
  9. 2
    3
      deployment_files/site/gate-multinode/networks/common-addresses.yaml
  10. 1
    1
      deployment_files/site/gate-multinode/networks/physical/network.yaml
  11. 24
    0
      deployment_files/site/gate-multinode/software/charts/kubernetes/ingress/ingress.yaml
  12. 2
    0
      deployment_files/site/gate-multinode/software/charts/ucp/drydock/drydock.yaml
  13. 30
    5
      deployment_files/site/gate-multinode/software/charts/ucp/drydock/maas.yaml
  14. 7
    2
      deployment_files/site/gate-multinode/software/configs/versions.yaml
  15. 1
    0
      tools/multi_nodes_gate/airship_gate/lib/config.sh
  16. 1
    1
      tools/multi_nodes_gate/airship_gate/lib/ingress.sh
  17. 2
    2
      tools/multi_nodes_gate/airship_gate/lib/virsh.sh
  18. 2
    4
      tools/multi_nodes_gate/airship_gate/manifests/multinode_deploy.json
  19. 1
    1
      tools/multi_nodes_gate/airship_gate/templates/ingress_corefile.sub

+ 0
- 9
deployment_files/global/v1.0demo/software/charts/kubernetes/dns/coredns.yaml View File

@@ -56,13 +56,6 @@ metadata:
56 56
       dest:
57 57
         path: .values.conf.coredns.corefile
58 58
         pattern: 'UPSTREAM1'
59
-    - src:
60
-        schema: pegleg/CommonAddresses/v1
61
-        name: common-addresses
62
-        path: .dns.upstream_servers[1]
63
-      dest:
64
-        path: .values.conf.coredns.corefile
65
-        pattern: 'UPSTREAM2'
66 59
 data:
67 60
   chart_name: coredns
68 61
   release: coredns
@@ -95,11 +88,9 @@ data:
95 88
                 pods insecure
96 89
                 fallthrough in-addr.arpa ip6.arpa
97 90
                 upstream UPSTREAM1
98
-                upstream UPSTREAM2
99 91
               }
100 92
               prometheus :9153
101 93
               proxy . UPSTREAM1
102
-              proxy . UPSTREAM2
103 94
               cache 30
104 95
           }
105 96
   dependencies:

+ 3
- 1
deployment_files/global/v1.0demo/software/charts/kubernetes/ingress/ingress.yaml View File

@@ -6,6 +6,8 @@ metadata:
6 6
   layeringDefinition:
7 7
     abstract: false
8 8
     layer: global
9
+  labels:
10
+    name: ingress-kube-system
9 11
   storagePolicy: cleartext
10 12
   substitutions:
11 13
     # Chart source
@@ -50,7 +52,7 @@ data:
50 52
           nginx.ingress.kubernetes.io/proxy-read-timeout: "603"
51 53
     pod:
52 54
       replicas:
53
-        error_page: 2
55
+        error_page: 1
54 56
   dependencies:
55 57
     - ingress-kube-system-htk
56 58
 ---

+ 2
- 0
deployment_files/global/v1.0demo/software/charts/ucp/core/ingress.yaml View File

@@ -7,6 +7,8 @@ metadata:
7 7
     abstract: false
8 8
     layer: global
9 9
   storagePolicy: cleartext
10
+  labels:
11
+    name: ucp-ingress
10 12
   substitutions:
11 13
     # Chart source
12 14
     - src:

+ 8
- 19
deployment_files/global/v1.0demo/software/charts/ucp/drydock/drydock.yaml View File

@@ -62,23 +62,6 @@ metadata:
62 62
       dest:
63 63
         path: .values.endpoints.physicalprovisioner.port.api.nodeport
64 64
 
65
-    # MaaS IPs
66
-    - src:
67
-        schema: pegleg/CommonAddresses/v1
68
-        name: common-addresses
69
-        # TODO(mb874d): Can change once we have an accessible VIP from fresh nodes.
70
-        path: .genesis.ip
71
-      dest:
72
-        path: .values.conf.drydock.maasdriver.maas_api_url
73
-        pattern: 'MAAS_IP'
74
-    - src:
75
-        schema: pegleg/CommonAddresses/v1
76
-        name: common-addresses
77
-        path: .node_ports.maas_api
78
-      dest:
79
-        path: .values.conf.drydock.maasdriver.maas_api_url
80
-        pattern: 'MAAS_PORT'
81
-
82 65
     # Credentials
83 66
 
84 67
     - src:
@@ -100,12 +83,18 @@ metadata:
100 83
       dest:
101 84
         path: .values.endpoints.postgresql.path
102 85
         pattern: DB_NAME
86
+    - src:
87
+        schema: pegleg/AccountCatalogue/v1
88
+        name: ucp_service_accounts
89
+        path: .ucp.keystone.admin
90
+      dest:
91
+        path: .values.endpoints.identity.auth.admin
103 92
     - src:
104 93
         schema: pegleg/AccountCatalogue/v1
105 94
         name: ucp_service_accounts
106 95
         path: .ucp.drydock.keystone
107 96
       dest:
108
-        path: .values.endpoints.identity.auth.user
97
+        path: .values.endpoints.identity.auth.drydock
109 98
 
110 99
     # Secrets
111 100
     - dest:
@@ -121,7 +110,7 @@ metadata:
121 110
         name: ucp_postgres_admin_password
122 111
         path: .
123 112
     - dest:
124
-        path: .values.endpoints.identity.auth.user.password
113
+        path: .values.endpoints.identity.auth.drydock.password
125 114
       src:
126 115
         schema: deckhand/Passphrase/v1
127 116
         name: ucp_drydock_keystone_password

+ 9
- 3
deployment_files/global/v1.0demo/software/charts/ucp/drydock/maas.yaml View File

@@ -102,9 +102,15 @@ metadata:
102 102
     - src:
103 103
         schema: pegleg/EndpointCatalogue/v1
104 104
         name: ucp_endpoints
105
-        path: .ucp.maas_region_ui
105
+        path: .ucp.maas_region
106 106
       dest:
107
-        path: .values.endpoints.maas_region_ui
107
+        path: .values.endpoints.maas_region
108
+    - src:
109
+        schema: pegleg/EndpointCatalogue/v1
110
+        name: ucp_endpoints
111
+        path: .ucp.physicalprovisioner
112
+      dest:
113
+        path: .values.endpoints.physicalprovisioner
108 114
 
109 115
     # Account and credential substitutions
110 116
     - src:
@@ -131,7 +137,7 @@ metadata:
131 137
         name: ucp_service_accounts
132 138
         path: .ucp.maas.admin
133 139
       dest:
134
-        path: .values.endpoints.maas_region_ui.auth.admin
140
+        path: .values.endpoints.maas_region.auth.admin
135 141
 
136 142
     # Secrets
137 143
     - dest:

+ 1
- 1
deployment_files/global/v1.0demo/software/charts/ucp/services-chart-group.yaml View File

@@ -11,8 +11,8 @@ data:
11 11
   description: Airship Services
12 12
   sequenced: true
13 13
   chart_group:
14
-    - ucp-maas
15 14
     - ucp-tiller
15
+    - ucp-maas
16 16
     - ucp-armada
17 17
     - ucp-barbican
18 18
     - ucp-deckhand

+ 7
- 5
deployment_files/global/v1.0demo/software/config/endpoints.yaml View File

@@ -17,6 +17,7 @@ data:
17 17
         internal: keystone-api
18 18
       host_fqdn_override:
19 19
         default: null
20
+        public: keystone.gate.local
20 21
       path:
21 22
         default: /v3
22 23
       scheme:
@@ -119,19 +120,19 @@ data:
119 120
         api:
120 121
           default: 9000
121 122
           nodeport: 31900
123
+          public: 80
122 124
       path:
123 125
         default: /api/v1.0
124 126
       scheme:
125 127
         default: http
126 128
       host_fqdn_override:
127 129
         default: null
128
-    maas_region_ui:
129
-      name: maas-region-ui
130
+        public: drydock.gate.local
131
+    maas_region:
132
+      name: maas-region
130 133
       hosts:
131
-        default: maas-region-ui
134
+        default: maas-region
132 135
         public: maas
133
-      path:
134
-        default: /MAAS
135 136
       scheme:
136 137
         default: "http"
137 138
       port:
@@ -168,6 +169,7 @@ data:
168 169
         default: http
169 170
       host_fqdn_override:
170 171
         default: null
172
+        public: shipyard.gate.local
171 173
     airflow_web:
172 174
       name: airflow-web
173 175
       hosts:

+ 7
- 12
deployment_files/global/v1.0demo/software/config/versions.yaml View File

@@ -150,7 +150,6 @@ data:
150 150
         location: https://git.openstack.org/openstack/openstack-helm
151 151
         subpath: ceph
152 152
         reference: f902cd14fac7de4c4c9f7d019191268a6b4e9601
153
-      #TODO Update to new HTK with split ceph charts
154 153
       ceph-htk:
155 154
         type: git
156 155
         location: https://git.openstack.org/openstack/openstack-helm
@@ -180,14 +179,12 @@ data:
180 179
         type: git
181 180
         location: https://git.openstack.org/openstack/airship-drydock
182 181
         subpath: charts/drydock
183
-        reference: f8c821e7219f84f12e3a90e3101c6f20d3049b5b
184
-      # TODO waiting for https://review.openstack.org/#/c/595902/ to move to
185
-      #      openstack-helm-infra version.
182
+        reference: master
186 183
       drydock-htk:
187 184
         type: git
188
-        location: https://git.openstack.org/openstack/openstack-helm
185
+        location: https://git.openstack.org/openstack/openstack-helm-infra
189 186
         subpath: helm-toolkit
190
-        reference: f902cd14fac7de4c4c9f7d019191268a6b4e9601
187
+        reference: bc1afb87d7aa529a4ed5321d889cdfe2f1af8a44
191 188
       ingress:
192 189
         type: git
193 190
         location: https://git.openstack.org/openstack/openstack-helm-infra
@@ -212,7 +209,7 @@ data:
212 209
         type: git
213 210
         location: https://git.openstack.org/openstack/airship-promenade
214 211
         subpath: charts/promenade
215
-        reference: 88c786b8e92d053fd0cba7237df68cc087b81f26
212
+        reference: 24e4ebf37aac7cc4cf3e8341bc0c0fc48c274fbb
216 213
       promenade-htk:
217 214
         type: git
218 215
         location: https://git.openstack.org/openstack/openstack-helm-infra
@@ -232,14 +229,12 @@ data:
232 229
         type: git
233 230
         location: https://git.openstack.org/openstack/airship-maas
234 231
         subpath: charts/maas
235
-        # TODO(bryan-strassner) set to new version
236
-        #     when https://review.openstack.org/#/c/595398/ is complete
237
-        reference: refs/changes/98/595398/5
232
+        reference: master
238 233
       maas-htk:
239 234
         type: git
240 235
         location: https://git.openstack.org/openstack/openstack-helm-infra
241 236
         subpath: helm-toolkit
242
-        reference: 9f6194ff770d3776ae3572bcbe841a9289357244
237
+        reference: 4cd00f3ac539f625e7cd9733ae46232b2082027a
243 238
       mariadb:
244 239
         type: git
245 240
         location: https://git.openstack.org/openstack/openstack-helm
@@ -456,7 +451,7 @@ data:
456 451
         tiller: gcr.io/kubernetes-helm/tiller:v2.10.0
457 452
       promenade:
458 453
         dep_check: quay.io/stackanetes/kubernetes-entrypoint:v0.3.1
459
-        promenade: quay.io/airshipit/promenade:88c786b8e92d053fd0cba7237df68cc087b81f26
454
+        promenade: quay.io/airshipit/promenade:24e4ebf37aac7cc4cf3e8341bc0c0fc48c274fbb
460 455
         ks_user: docker.io/openstackhelm/heat:ocata
461 456
         ks_service: docker.io/openstackhelm/heat:ocata
462 457
         ks_endpoints: docker.io/openstackhelm/heat:ocata

+ 2
- 3
deployment_files/site/gate-multinode/networks/common-addresses.yaml View File

@@ -17,9 +17,8 @@ data:
17 17
     cluster_domain: cluster.local
18 18
     service_ip: 10.96.0.10
19 19
     upstream_servers:
20
-      - 8.8.8.8
21
-      - 8.8.4.4
22
-    upstream_servers_joined: 8.8.8.8,8.8.4.4
20
+      - 172.24.1.9
21
+    upstream_servers_joined: 172.24.1.9
23 22
 
24 23
   genesis:
25 24
     hostname: n0

+ 1
- 1
deployment_files/site/gate-multinode/networks/physical/network.yaml View File

@@ -40,5 +40,5 @@ data:
40 40
       metric: 10
41 41
   dns:
42 42
     domain: gate.local
43
-    servers: '8.8.8.8 8.8.4.4'
43
+    servers: '172.24.1.9'
44 44
 ...

+ 24
- 0
deployment_files/site/gate-multinode/software/charts/kubernetes/ingress/ingress.yaml View File

@@ -0,0 +1,24 @@
1
+---
2
+schema: armada/Chart/v1
3
+metadata:
4
+  schema: metadata/Document/v1
5
+  name: ingress-kube-system
6
+  replacement: true
7
+  layeringDefinition:
8
+    abstract: false
9
+    layer: site
10
+    parentSelector:
11
+        name: ingress-kube-system
12
+    actions:
13
+        - method: merge
14
+          path: .
15
+  storagePolicy: cleartext
16
+data:
17
+  values:
18
+    network:
19
+      ingress:
20
+        disable-ipv6: "true"
21
+      vip:
22
+        manage: true
23
+        addr: '172.24.1.6/32'
24
+...

+ 2
- 0
deployment_files/site/gate-multinode/software/charts/ucp/drydock/drydock.yaml View File

@@ -26,6 +26,8 @@ data:
26 26
       secret_ssh_key: true
27 27
     conf:
28 28
       drydock:
29
+        maasdriver:
30
+          maas_api_url: 'http://maas.gate.local:9085/MAAS/api/2.0/'
29 31
         plugins:
30 32
           oob_driver:
31 33
             - 'drydock_provisioner.drivers.oob.pyghmi_driver.driver.PyghmiDriver'

+ 30
- 5
deployment_files/site/gate-multinode/software/charts/ucp/drydock/maas.yaml View File

@@ -25,11 +25,36 @@ data:
25 25
     manifests:
26 26
       secret_ssh_key: true
27 27
     conf:
28
-      cache:
29
-        enabled: true
30
-      dns:
31
-        dns_servers: 172.24.1.9
28
+      maas:
29
+        dns: {dns_servers: '172.24.1.9'}
30
+        ntp: {use_external_only: 'true' }
31
+      cache: {enabled: true}
32 32
     network:
33 33
       maas_ingress:
34
-        addr: 172.24.1.5/32
34
+        addr: '172.24.1.5/32'
35
+    endpoints:
36
+      maas_region:
37
+        host_fqdn_override:
38
+          public: maas.gate.local
39
+        port:
40
+          region_api:
41
+            public: 9085
42
+      maas_ingress:
43
+        hosts:
44
+          default: maas-ingress
45
+          error_pages: maas-ingress-error
46
+        host_fqdn_override:
47
+          public: null
48
+        port:
49
+          http:
50
+            default: 9080
51
+          https:
52
+            default: 9443
53
+          error_pages:
54
+            default: 8080
55
+            podport: 8080
56
+          healthz:
57
+            podport: 10259
58
+          status:
59
+            podport: 18089
35 60
 ...

+ 7
- 2
deployment_files/site/gate-multinode/software/configs/versions.yaml View File

@@ -21,9 +21,14 @@ data:
21 21
     ucp:
22 22
       maas:
23 23
         location: https://git.openstack.org/openstack/airship-maas
24
-        reference: refs/changes/53/600253/1
24
+        reference: refs/changes/53/600253/39
25
+      maas-htk:
26
+        location: https://git.openstack.org/openstack/openstack-helm-infra
27
+        subpath: helm-toolkit
28
+        reference: 4cd00f3ac539f625e7cd9733ae46232b2082027a
25 29
   images:
26 30
     ucp:
27 31
       maas:
28
-        maas_region: docker.io/sthussey/maas-region-controller:dev
32
+        maas_region: 'docker.io/sthussey/maas-region-controller:dev'
33
+        maas_cache: 'quay.io/airshipit/sstream-cache:master'
29 34
 ...

+ 1
- 0
tools/multi_nodes_gate/airship_gate/lib/config.sh View File

@@ -16,6 +16,7 @@ export SHIPYARD_PASSWORD=${SHIPYARD_OS_PASSWORD:-password18}
16 16
 export REGISTRY_DATA_DIR=${REGISTRY_DATA_DIR:-/mnt/registry}
17 17
 export VIRSH_POOL=${VIRSH_POOL:-airship}
18 18
 export VIRSH_POOL_PATH=${VIRSH_POOL_PATH:-/var/lib/libvirt/airship}
19
+export UPSTREAM_DNS=${UPSTREAM_DNS:-"8.8.8.8 208.67.220.220"}
19 20
 
20 21
 config_vm_memory() {
21 22
     nodename=${1}

+ 1
- 1
tools/multi_nodes_gate/airship_gate/lib/ingress.sh View File

@@ -30,5 +30,5 @@ ingress_dns_start() {
30 30
   ssh_cmd "${nodename}" mkdir -p "${remote_work_dir}"
31 31
   rsync_cmd "$DNS_ZONE_FILE" "${nodename}:${remote_zone_file}"
32 32
   rsync_cmd "$COREFILE" "${nodename}:${remote_corefile}"
33
-  ssh_cmd "${nodename}" docker run -d -v /var/tmp/coredns:/data -w /data --network host -P $IMAGE_COREDNS -conf $(basename $remote_corefile)
33
+  ssh_cmd "${nodename}" docker run -d -v /var/tmp/coredns:/data -w /data --network host --restart always -P $IMAGE_COREDNS -conf $(basename $remote_corefile)
34 34
 }

+ 2
- 2
tools/multi_nodes_gate/airship_gate/lib/virsh.sh View File

@@ -117,11 +117,11 @@ vm_clean() {
117 117
 }
118 118
 
119 119
 vm_clean_all() {
120
-    log Removing all VMs in parallel
120
+    log Removing all VMs
121 121
     VM_NAMES=($(config_vm_names))
122 122
     for NAME in ${VM_NAMES[*]}
123 123
     do
124
-        vm_clean "${NAME}" &
124
+        vm_clean "${NAME}"
125 125
     done
126 126
     wait
127 127
 }

+ 2
- 4
tools/multi_nodes_gate/airship_gate/manifests/multinode_deploy.json View File

@@ -6,10 +6,8 @@
6 6
   },
7 7
   "ingress": {
8 8
     "domain": "gate.local",
9
-    "172.24.1.5": [
10
-      "maas",
11
-      "drydock"
12
-    ]
9
+    "172.24.1.5": ["maas"],
10
+    "172.24.1.6": ["drydock","shipyard","keystone"]
13 11
   },
14 12
   "stages": [
15 13
     {

+ 1
- 1
tools/multi_nodes_gate/airship_gate/templates/ingress_corefile.sub View File

@@ -4,6 +4,6 @@ ${DNS_DOMAIN} {
4 4
 }
5 5
 
6 6
 . {
7
-    forward . /etc/resolv.conf
7
+    forward . ${UPSTREAM_DNS}
8 8
     log
9 9
 }

Loading…
Cancel
Save