web-dev-qa-db-fra.com

Déployer OpenStack avec MAAS 2.4 et Juju 2.4.1

Je souhaite installer un OpenStack avec mon environnement MAAS 2.4 et Juju 2.4.1. Le MAAS fonctionne maintenant très bien et je peux gérer mon matériel avec celui-ci. J'ai installé juju et un juju-controller (le matériel dédié est fourni par MAAS), tous merveilleux jusqu'à présent!

Maintenant, j'ai pris le charme de juju "openstack-base" et l'ai adapté à mon matériel (3x Storage-Nodes, 2x Controller-Nodes, 2x Nova-Nodes), voici mon "bundle.yaml":

machines:
  '0':
    series: bionic
    constraints: "tags=virtual-machine"
  '1':
    series: bionic
    constraints: "tags=virtual-machine"
  '2':
    series: bionic
    constraints: "tags=controller"
  '3':
    series: bionic
    constraints: "tags=controller"
  '4':
    series: bionic
    constraints: "tags=storage"
  '5':
    series: bionic
    constraints: "tags=storage"
  '6':
    series: bionic
    constraints: "tags=storage"
relations:
- - nova-compute:amqp
  - rabbitmq-server:amqp
- - neutron-gateway:amqp
  - rabbitmq-server:amqp
- - keystone:shared-db
  - mysql:shared-db
- - nova-cloud-controller:identity-service
  - keystone:identity-service
- - glance:identity-service
  - keystone:identity-service
- - neutron-api:identity-service
  - keystone:identity-service
- - neutron-openvswitch:neutron-plugin-api
  - neutron-api:neutron-plugin-api
- - neutron-api:shared-db
  - mysql:shared-db
- - neutron-api:amqp
  - rabbitmq-server:amqp
- - neutron-gateway:neutron-plugin-api
  - neutron-api:neutron-plugin-api
- - glance:shared-db
  - mysql:shared-db
- - glance:amqp
  - rabbitmq-server:amqp
- - nova-cloud-controller:image-service
  - glance:image-service
- - nova-compute:image-service
  - glance:image-service
- - nova-cloud-controller:cloud-compute
  - nova-compute:cloud-compute
- - nova-cloud-controller:amqp
  - rabbitmq-server:amqp
- - nova-cloud-controller:quantum-network-service
  - neutron-gateway:quantum-network-service
- - nova-compute:neutron-plugin
  - neutron-openvswitch:neutron-plugin
- - neutron-openvswitch:amqp
  - rabbitmq-server:amqp
- - openstack-dashboard:identity-service
  - keystone:identity-service
- - nova-cloud-controller:shared-db
  - mysql:shared-db
- - nova-cloud-controller:neutron-api
  - neutron-api:neutron-api
- - cinder:image-service
  - glance:image-service
- - cinder:amqp
  - rabbitmq-server:amqp
- - cinder:identity-service
  - keystone:identity-service
- - cinder:cinder-volume-service
  - nova-cloud-controller:cinder-volume-service
- - cinder-ceph:storage-backend
  - cinder:storage-backend
- - ceph-mon:client
  - nova-compute:ceph
- - nova-compute:ceph-access
  - cinder-ceph:ceph-access
- - cinder:shared-db
  - mysql:shared-db
- - ceph-mon:client
  - cinder-ceph:ceph
- - ceph-mon:client
  - glance:ceph
- - ceph-osd:mon
  - ceph-mon:osd
- - ntp:juju-info
  - nova-compute:juju-info
- - ntp:juju-info
  - neutron-gateway:juju-info
- - ceph-radosgw:mon
  - ceph-mon:radosgw
- - ceph-radosgw:identity-service
  - keystone:identity-service
series: bionic
services:
  ceph-mon:
    annotations:
      gui-x: '750'
      gui-y: '500'
    charm: cs:ceph-mon-25
    num_units: 3
    options:
      expected-osd-count: 3
    bindings:
      public: admin-space
      cluster: admin-space
      admin: admin-space
      bootstrap-source: admin-space
      mon: admin-space
      osd: admin-space
      radosgw: admin-space
    to:
    - lxd:4
    - lxd:5
    - lxd:6
  ceph-osd:
    annotations:
      gui-x: '1000'
      gui-y: '500'
    charm: cs:ceph-osd-268
    num_units: 3
    options:
      osd-devices: '/dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdg /dev/sdh /dev/sdi /dev/sdj'
    bindings:
      public: admin-space
      cluster: admin-space
      mon: admin-space
    to:
    - '4'
    - '5'
    - '6'
  ceph-radosgw:
    annotations:
      gui-x: '1000'
      gui-y: '250'
    charm: cs:ceph-radosgw-258
    num_units: 1
    bindings:
      public: admin-space
      admin: admin-space
      internal: admin-space
    to:
    - lxd:3
  cinder:
    annotations:
      gui-x: '750'
      gui-y: '0'
    charm: cs:cinder-272
    num_units: 1
    options:
      block-device: None
      glance-api-version: 2
      worker-multiplier: 0.25
    bindings:
      public: admin-space
      admin: admin-space
      internal: admin-space
    to:
    - lxd:2
  cinder-ceph:
    annotations:
      gui-x: '750'
      gui-y: '250'
    charm: cs:cinder-ceph-233
    num_units: 0
    bindings:
      ceph: admin-space
  glance:
    annotations:
      gui-x: '250'
      gui-y: '0'
    charm: cs:glance-267
    num_units: 1
    options:
      worker-multiplier: 0.25
    bindings:
      public: admin-space
      admin: admin-space
      internal: admin-space
    to:
    - lxd:3
  keystone:
    annotations:
      gui-x: '500'
      gui-y: '0'
    charm: cs:keystone-282
    num_units: 1
    options:
      worker-multiplier: 0.25
    bindings:
      public: admin-space
      admin: admin-space
      internal: admin-space
      shared-db: admin-space
    to:
    - lxd:2
  mysql:
    annotations:
      gui-x: '0'
      gui-y: '250'
    charm: cs:percona-cluster-268
    num_units: 1
    options:
      innodb-buffer-pool-size: 256M
      max-connections: 1000
    bindings:
      db-admin: admin-space
      access: admin-space
    to:
    - lxd:3
  neutron-api:
    annotations:
      gui-x: '500'
      gui-y: '500'
    charm: cs:neutron-api-261
    num_units: 1
    options:
      flat-network-providers: physnet1
      neutron-security-groups: true
      worker-multiplier: 0.25
      overlay-network-type: vxlan
      default-tenant-network-type: vxlan
    bindings:
      public: admin-space
      admin: admin-space
      internal: admin-space
      neutron-api: admin-space
      neutron-plugin-api: admin-space
      shared-db: admin-space
      amqp: admin-space
      identity-service: admin-space
      vsd-rest-api: admin-space
      neutron-plugin-api-subordinate: admin-space
      etcd-proxy: admin-space
      midonet: admin-space
      external-dns: admin-space
    to:
    - lxd:2
  neutron-gateway:
    annotations:
      gui-x: '0'
      gui-y: '0'
    charm: cs:neutron-gateway-252
    num_units: 1
    options:
      bridge-mappings: physnet1:br-ex
      data-port: br-ex:eno1
      worker-multiplier: 0.25
    bindings:
      amqp: admin-space
      amqp-nova: admin-space
      neutron-plugin-api: admin-space
      data: admin-space
      quantum-network-service: admin-space
    to:
    - '2'
  neutron-openvswitch:
    annotations:
      gui-x: '250'
      gui-y: '500'
    charm: cs:neutron-openvswitch-250
    num_units: 0
    bindings:
      amqp: admin-space
      data: admin-space
      neutron-control: admin-space
      neutron-plugin: admin-space
      neutron-plugin-api: admin-space
  nova-cloud-controller:
    annotations:
      gui-x: '0'
      gui-y: '500'
    charm: cs:nova-cloud-controller-310
    num_units: 1
    options:
      network-manager: Neutron
      worker-multiplier: 0.25
      console-access-protocol: spice
    bindings:
      public: admin-space
      admin: admin-space
      internal: admin-space
      shared-db: admin-space

      amqp: admin-space
      image-service: admin-space
      identity-service: admin-space
      cloud-compute: admin-space
      cinder-volume-service: admin-space
      neutron-api: admin-space

    to:
    - lxd:3
  nova-compute:
    annotations:
      gui-x: '250'
      gui-y: '250'
    charm: cs:nova-compute-284
    num_units: 2
    options:
      config-flags: default_ephemeral_format=ext4
      enable-live-migration: true
      enable-resize: true
      migration-auth-type: ssh
      virt-type: kvm
      libvirt-image-backend: rbd
    bindings:
      internal: admin-space
      amqp: admin-space
      ceph: admin-space
      ceph-access: admin-space
      cloud-compute: admin-space
      compute-peer: admin-space
      ephemeral-backend: admin-space
      image-service: admin-space
      neutron-plugin: admin-space
    to:
    - '0'
    - '1'
  ntp:
    annotations:
      gui-x: '1000'
      gui-y: '0'
    charm: cs:ntp-27
    num_units: 0
  openstack-dashboard:
    annotations:
      gui-x: '500'
      gui-y: '-250'
    charm: cs:openstack-dashboard-261
    num_units: 1
    bindings:
      public: admin-space
      website: admin-space
      dashboard-plugin: admin-space
      identity-service: admin-space
      cluster: admin-space
    to:
    - lxd:3
  rabbitmq-server:
    annotations:
      gui-x: '500'
      gui-y: '250'
    charm: cs:rabbitmq-server-77
    num_units: 1
    bindings:
      "": admin-space
      amqp: admin-space
      ceph: admin-space
      cluster: admin-space
    to:
    - lxd:2

Je sais que les nombreux paramètres de "liaisons" résultent de plusieurs tentatives visant à faire fonctionner les éléments. Avec cette configuration, je peux déployer avec succès le charme complet de juju et tous les services fonctionnent (apparemment). Maintenant, j'ai tout configuré dans le "tableau de bord Horizon" et démarré mon instance (cirrOS 0.3.4). Cependant, malheureusement, il m'est impossible d'accéder au réseau externe; par conséquent, il n'y a pas d'internet sur les VM. De plus, les instances ne sont pas accessibles de l'extérieur (ext-net -> VM via une adresse IP flottante).

Je pense que mon problème est diverses assignations de "pont-mappings" et paramètres "port de données". À l'exception des nœuds de stockage, j'utilise uniquement la première carte réseau (eno1) sur tous les serveurs. Plus tard, je veux ajouter une autre carte, mais j'essaie d'abord de la faire fonctionner.

6
SkyDiablo

ok, après avoir eu le point "ext-br" sur "eno2", j'ai maintenant accès à ma passerelle externe ergo internet! Le fait important, vous devez laisser l'interface non configurée via MAAS, "ovs" ignore de toute façon ces paramètres ou les irrite seulement. si aucune interface propre n'est disponible, un VLAN peut également être utilisé.

1
SkyDiablo