summaryrefslogtreecommitdiffstats
path: root/lib/ansible/playbooks/prepare_overcloud_containers.yml
blob: 88a8df1c182ef6497972e5bfda62982aea4421e8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
---
- hosts: all
  tasks:
    - name: Upload container patches archive
      copy:
        src: "{{ apex_temp_dir }}/docker_patches.tar.gz"
        dest: "/home/stack/docker_patches.tar.gz"
        owner: stack
        group: stack
        mode: 0644
      when: patched_docker_services|length > 0
    - name: Unpack container patches archive
      unarchive:
        src: /home/stack/docker_patches.tar.gz
        remote_src: yes
        list_files: yes
        group: stack
        owner: stack
        dest: /home/stack/
      when: patched_docker_services|length > 0
    - name: Prepare generic docker registry image file
      shell: >
        {{ stackrc }} && openstack overcloud container image prepare
        --namespace trunk.registry.rdoproject.org/{{ os_version }}
        --tag {{ container_tag }}
        --push-destination {{ undercloud_ip }}:8787
        -e /usr/share/openstack-tripleo-heat-templates/environments/docker.yaml
        --output-images-file overcloud_containers.yml
      become: yes
      become_user: stack
    - name: Prepare SDN docker registry image file
      shell: >
        {{ stackrc }} && openstack overcloud container image prepare
        --namespace trunk.registry.rdoproject.org/{{ os_version }}
        --tag {{ container_tag }}
        --push-destination {{ undercloud_ip }}:8787
        -e {{ sdn_env_file }}
        --output-images-file sdn_containers.yml
      become: yes
      become_user: stack
      when: sdn != false
    - name: Upload docker images to local registry
      shell: >
        {{ stackrc }} && openstack overcloud container image upload
        --config-file /home/stack/overcloud_containers.yml
    - name: Upload SDN docker images to local registry
      shell: >
        {{ stackrc }} && openstack overcloud container image upload
        --config-file /home/stack/sdn_containers.yml
      when: sdn != false
    - name: Collect docker images in registry
      uri:
        url: http://{{ undercloud_ip }}:8787/v2/_catalog
        body_format: json
      register: response
    - name: Patch Docker images
      shell: >
        cd /home/stack/containers/{{ item }} && docker build
        -t {{ undercloud_ip }}:8787/{{ os_version }}/centos-binary-{{ item }}:apex .
      when:
        - patched_docker_services|length > 0
        - item in (response.json)['repositories']|join(" ")
      with_items: "{{ patched_docker_services }}"
    - name: Push patched docker images to local registry
      shell: docker push {{ undercloud_ip }}:8787/{{ os_version }}/centos-binary-{{ item }}:apex
      when:
        - patched_docker_services|length > 0
        - item in (response.json)['repositories']|join(" ")
      with_items: "{{ patched_docker_services }}"
    - name: Prepare deployment generic docker image file
      shell: >
        {{ stackrc }} && openstack overcloud container image prepare
        --namespace {{ undercloud_ip }}:8787/{{ os_version }}
        --tag {{ container_tag }}
        -e /usr/share/openstack-tripleo-heat-templates/environments/docker.yaml
        --output-env-file docker-images.yaml
      become: yes
      become_user: stack
    - name: Prepare deployment SDN docker image file
      shell: >
        {{ stackrc }} && openstack overcloud container image prepare
        --namespace {{ undercloud_ip }}:8787/{{ os_version }}
        --tag {{ container_tag }}
        -e {{ sdn_env_file }}
        --output-env-file sdn-images.yaml
      when: sdn != false
      become: yes
      become_user: stack
    - name: Modify Images with Apex tag
      replace:
        path: "{{ item[0] }}"
        regexp: "(\\s*Docker.*?:.*?centos-binary-{{ item[1] }}):.*"
        replace: '\1:apex'
      with_nested:
        - [ '/home/stack/sdn-images.yaml', '/home/stack/docker-images.yaml']
        - "{{ patched_docker_services }}"
    - name: Pull Ceph docker image
      shell: docker pull {{ ceph_docker_image }}
      become: yes
    - name: Tag Ceph image for local registry
      shell: docker tag {{ ceph_docker_image }} {{ undercloud_ip }}:8787/{{ ceph_docker_image }}
      become: yes
    - name: Push Ceph docker image to local registry
      shell: docker push {{ undercloud_ip }}:8787/{{ ceph_docker_image }}
      become: yes
n> #define SNDRV_EMUX_MAX_VOICES 64 /* max # of voices */ #define SNDRV_EMUX_MAX_MULTI_VOICES 16 /* max # of playable voices * simultineously */ /* * flags */ #define SNDRV_EMUX_ACCEPT_ROM (1<<0) /* * emuX wavetable */ struct snd_emux { struct snd_card *card; /* assigned card */ /* following should be initialized before registration */ int max_voices; /* Number of voices */ int mem_size; /* memory size (in byte) */ int num_ports; /* number of ports to be created */ int pitch_shift; /* pitch shift value (for Emu10k1) */ struct snd_emux_operators ops; /* operators */ void *hw; /* hardware */ unsigned long flags; /* other conditions */ int midi_ports; /* number of virtual midi devices */ int midi_devidx; /* device offset of virtual midi */ unsigned int linear_panning: 1; /* panning is linear (sbawe = 1, emu10k1 = 0) */ int hwdep_idx; /* hwdep device index */ struct snd_hwdep *hwdep; /* hwdep device */ /* private */ int num_voices; /* current number of voices */ struct snd_sf_list *sflist; /* root of SoundFont list */ struct snd_emux_voice *voices; /* Voices (EMU 'channel') */ int use_time; /* allocation counter */ spinlock_t voice_lock; /* Lock for voice access */ struct mutex register_mutex; int client; /* For the sequencer client */ int ports[SNDRV_EMUX_MAX_PORTS]; /* The ports for this device */ struct snd_emux_port *portptrs[SNDRV_EMUX_MAX_PORTS]; int used; /* use counter */ char *name; /* name of the device (internal) */ struct snd_rawmidi **vmidi; struct timer_list tlist; /* for pending note-offs */ int timer_active; struct snd_util_memhdr *memhdr; /* memory chunk information */ #ifdef CONFIG_PROC_FS struct snd_info_entry *proc; #endif #ifdef CONFIG_SND_SEQUENCER_OSS struct snd_seq_device *oss_synth; #endif }; /* * sequencer port information */ struct snd_emux_port { struct snd_midi_channel_set chset; struct snd_emux *emu; char port_mode; /* operation mode */ int volume_atten; /* emuX raw attenuation */ unsigned long drum_flags; /* drum bitmaps */ int ctrls[EMUX_MD_END]; /* control parameters */ #ifdef SNDRV_EMUX_USE_RAW_EFFECT struct snd_emux_effect_table *effect; #endif #ifdef CONFIG_SND_SEQUENCER_OSS struct snd_seq_oss_arg *oss_arg; #endif }; /* port_mode */ #define SNDRV_EMUX_PORT_MODE_MIDI 0 /* normal MIDI port */ #define SNDRV_EMUX_PORT_MODE_OSS_SYNTH 1 /* OSS synth port */ #define SNDRV_EMUX_PORT_MODE_OSS_MIDI 2 /* OSS multi channel synth port */ /* * A structure to keep track of each hardware voice */ struct snd_emux_voice { int ch; /* Hardware channel number */ int state; /* status */ #define SNDRV_EMUX_ST_OFF 0x00 /* Not playing, and inactive */ #define SNDRV_EMUX_ST_ON 0x01 /* Note on */ #define SNDRV_EMUX_ST_RELEASED (0x02|SNDRV_EMUX_ST_ON) /* Note released */ #define SNDRV_EMUX_ST_SUSTAINED (0x04|SNDRV_EMUX_ST_ON) /* Note sustained */ #define SNDRV_EMUX_ST_STANDBY (0x08|SNDRV_EMUX_ST_ON) /* Waiting to be triggered */ #define SNDRV_EMUX_ST_PENDING (0x10|SNDRV_EMUX_ST_ON) /* Note will be released */ #define SNDRV_EMUX_ST_LOCKED 0x100 /* Not accessible */ unsigned int time; /* An allocation time */ unsigned char note; /* Note currently assigned to this voice */ unsigned char key; unsigned char velocity; /* Velocity of current note */ struct snd_sf_zone *zone; /* Zone assigned to this note */ void *block; /* sample block pointer (optional) */ struct snd_midi_channel *chan; /* Midi channel for this note */ struct snd_emux_port *port; /* associated port */ struct snd_emux *emu; /* assigned root info */ void *hw; /* hardware pointer (emu8000 or emu10k1) */ unsigned long ontime; /* jiffies at note triggered */ /* Emu8k/Emu10k1 registers */ struct soundfont_voice_info reg; /* additional registers */ int avol; /* volume attenuation */ int acutoff; /* cutoff target */ int apitch; /* pitch offset */ int apan; /* pan/aux pair */ int aaux; int ptarget; /* pitch target */ int vtarget; /* volume target */ int ftarget; /* filter target */ }; /* * update flags (can be combined) */ #define SNDRV_EMUX_UPDATE_VOLUME (1<<0) #define SNDRV_EMUX_UPDATE_PITCH (1<<1) #define SNDRV_EMUX_UPDATE_PAN (1<<2) #define SNDRV_EMUX_UPDATE_FMMOD (1<<3) #define SNDRV_EMUX_UPDATE_TREMFREQ (1<<4) #define SNDRV_EMUX_UPDATE_FM2FRQ2 (1<<5) #define SNDRV_EMUX_UPDATE_Q (1<<6) #ifdef SNDRV_EMUX_USE_RAW_EFFECT /* * effect table */ struct snd_emux_effect_table { /* Emu8000 specific effects */ short val[EMUX_NUM_EFFECTS]; unsigned char flag[EMUX_NUM_EFFECTS]; }; #endif /* SNDRV_EMUX_USE_RAW_EFFECT */ /* * prototypes - interface to Emu10k1 and Emu8k routines */ int snd_emux_new(struct snd_emux **remu); int snd_emux_register(struct snd_emux *emu, struct snd_card *card, int index, char *name); int snd_emux_free(struct snd_emux *emu); /* * exported functions */ void snd_emux_terminate_all(struct snd_emux *emu); void snd_emux_lock_voice(struct snd_emux *emu, int voice); void snd_emux_unlock_voice(struct snd_emux *emu, int voice); #endif /* __SOUND_EMUX_SYNTH_H */